//
//  HSYBaseViewController+Device.h
//  高仿暴走斗图
//
//  Created by key on 16/3/23.
//  Copyright © 2016年 huangsongyao. All rights reserved.
//

#import "HSYBaseViewController.h"
#import <MediaPlayer/MediaPlayer.h>

typedef NS_ENUM(NSUInteger, kSystemDeviceType) {
    
    kSystemAnimationTypePhoto               = 0,            //相册
    kSystemAnimationTypeCamera              = 1,            //相机
    kSystemAnimationTypeVideo               = 2,            //视频库
    kSystemAnimationTypeAudio               = 3,            //音频库
};

@interface HSYBaseViewController (Device)<MPMediaPickerControllerDelegate, UINavigationControllerDelegate, UIImagePickerControllerDelegate>

/**
 *  是否允许使用摄像头设备
 *
 *  @return 布尔值，yes表示可以使用，no相反
 */
- (BOOL)isCanUseCamera;

/**
 *  是否允许使用资源库
 *
 *  @param sourceType 资源库类型
 *
 *  @return 布尔值，YES表示可以，NO表示不可以
 */
- (BOOL)isCanOpenCameraDeviceForSourceType:(UIImagePickerControllerSourceType)sourceType;

/**
 *  rac_调用系统资源库（包括相机、摄像头等等），请在回调的block中present出控制器
 *
 *  @param deviceType           资源类型，枚举
 *  @param completion           回调允许使用的情况下所生成的UIImagePickerController，请在回调的block中present出控制器
 *  @param dismissCompletion    dismiss UIImagePickerController完成后的block回调
 *
 *  @return rac 的signal信号，用于获取到图象信息
 */
- (RACSignal *)rac_openSystemResourcesForDeviceType:(kSystemDeviceType)type withCompletion:(void(^)(UIViewController *viewController))completion dismissCompletion:(void(^)())dismissCompletion;

/**
 *  dismiss资源库控制器
 *
 *  @param animated   是否执行动画
 *  @param completion 完成后的block
 */
- (void)cameraDeviceDismissViewControllerForAnimated:(BOOL)animated completion:(void(^)())completion;

@end
